package com.jbm.jbmsupplier.util;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;


/**
 * Created by lyh on 2017-02-22.
 */


public class InfomationEntity extends com.jbm.jbmsupplier.util.ICtrl implements Serializable {
    private static final long serialVersionUID = -7093498779244529073L;
    private int infoId;
    private Integer typeId;  //信息类别 见枚举
    private String content;  //信息内容
    private String phoneModule; //手机型号
    private Integer status;  //
    private Integer isdel;  //删除标志
    private Integer isvip;  //是否付费信息
    private Integer orders;  //付费排序
    private Integer loginId; //
    private Timestamp createDate;
    private Timestamp updateDate;
    private int praiseCount; //点赞数量
    private int focusCount;  //关注数量
    private List<PraiseEntity> praiseList; // 点赞列表
    private List<FocusEntity> focusList; //收藏列表
    private List<GeoInfoEntity> scopeList;  //范围列表
    private List<InfoAttachmentEntity> attList;   //图片列表
    private InfoAuditLogEntity auditinfo;
    private Integer giId;    //地址id 查询用
    private com.jbm.jbmsupplier.util.LoginEntity userinfo;
    private int isShow;
    private int maxnum;


    public    InfomationEntity(){}

    public    InfomationEntity(Integer typeId,String content,String phoneModule,Integer status,List<GeoInfoEntity> scopeList)
    {
         this.typeId=typeId;
        this.content=content;
        this.phoneModule=phoneModule;
        this.status=status;
        this.scopeList=scopeList;
    }
    public    InfomationEntity(String method, int infoId , Integer typeId, String content, String phoneModule, Integer status, List<GeoInfoEntity> scopeList, List<InfoAttachmentEntity> attlist)
    {
        this.method=method;
        this.infoId=infoId;
        this.typeId=typeId;
        this.content=content;
        this.phoneModule=phoneModule;
        this.status=status;
        this.scopeList=scopeList;
        this.attList=attlist;
    }
    public    InfomationEntity(Integer status,Integer typeId,int giId,int start,int pagesize)
    {
        this.status=status;
        this.typeId=typeId;
        this.giId=giId;
        this.start=start;
        this.pagesize=pagesize;
    }
    public    InfomationEntity(Integer status,Integer typeId,int start,int pagesize)
    {
        this.status=status;
        this.typeId=typeId;
        this.start=start;
        this.pagesize=pagesize;
    }
    public    InfomationEntity(String content,int start,int pagesize)
    {
        this.content=content;
        this.start=start;
        this.pagesize=pagesize;
    }
    public    InfomationEntity(String method,int infoid)
    {
        this.method=method;
        this.infoId=infoid;
    }

    public int getInfoId() {
        return infoId;
    }

    public void setInfoId(int infoId) {
        this.infoId = infoId;
    }


    public Integer getTypeId() {
        return typeId;
    }

    public void setTypeId(Integer typeId) {
        this.typeId = typeId;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getPhoneModule() {
        return phoneModule;
    }

    public void setPhoneModule(String phoneModule) {
        this.phoneModule = phoneModule;
    }


    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getIsdel() {
        return isdel;
    }

    public void setIsdel(Integer isdel) {
        this.isdel = isdel;
    }


    public Integer getIsvip() {
        return isvip;
    }

    public void setIsvip(Integer isvip) {
        this.isvip = isvip;
    }


    public Integer getOrders() {
        return orders;
    }

    public void setOrders(Integer orders) {
        this.orders = orders;
    }


    public Integer getLoginId() {
        return loginId;
    }

    public void setLoginId(Integer loginId) {
        this.loginId = loginId;
    }

    public Timestamp getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Timestamp createDate) {
        this.createDate = createDate;
    }

    public Timestamp getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Timestamp updateDate) {
        this.updateDate = updateDate;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        InfomationEntity that = (InfomationEntity) o;

        if (infoId != that.infoId) return false;
        if (content != null ? !content.equals(that.content) : that.content != null) return false;
        if (createDate != null ? !createDate.equals(that.createDate) : that.createDate != null) return false;
        if (isdel != null ? !isdel.equals(that.isdel) : that.isdel != null) return false;
        if (isvip != null ? !isvip.equals(that.isvip) : that.isvip != null) return false;
        if (loginId != null ? !loginId.equals(that.loginId) : that.loginId != null) return false;
        if (orders != null ? !orders.equals(that.orders) : that.orders != null) return false;
        if (phoneModule != null ? !phoneModule.equals(that.phoneModule) : that.phoneModule != null) return false;
        if (status != null ? !status.equals(that.status) : that.status != null) return false;
        if (typeId != null ? !typeId.equals(that.typeId) : that.typeId != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = infoId;
        result = 31 * result + (typeId != null ? typeId.hashCode() : 0);
        result = 31 * result + (content != null ? content.hashCode() : 0);
        result = 31 * result + (phoneModule != null ? phoneModule.hashCode() : 0);
        result = 31 * result + (status != null ? status.hashCode() : 0);
        result = 31 * result + (isdel != null ? isdel.hashCode() : 0);
        result = 31 * result + (isvip != null ? isvip.hashCode() : 0);
        result = 31 * result + (orders != null ? orders.hashCode() : 0);
        result = 31 * result + (loginId != null ? loginId.hashCode() : 0);
        result = 31 * result + (createDate != null ? createDate.hashCode() : 0);
        return result;
    }


    public List<GeoInfoEntity> getScopeList() {
        return scopeList;
    }

    public void setScopeList(List<GeoInfoEntity> scopeList) {
        this.scopeList = scopeList;
    }

    public List<InfoAttachmentEntity> getAttList() {
        return attList;
    }

    public void setAttList(List<InfoAttachmentEntity> attList) {
        this.attList = attList;
    }

    public int getPraiseCount() {
        return praiseCount;
    }

    public void setPraiseCount(int praiseCount) {
        this.praiseCount = praiseCount;
    }

    public int getFocusCount() {
        return focusCount;
    }

    public void setFocusCount(int focusCount) {
        this.focusCount = focusCount;
    }

    public Integer getGiId() {
        return giId;
    }

    public void setGiId(Integer giId) {
        this.giId = giId;
    }


    public com.jbm.jbmsupplier.util.LoginEntity getUserinfo() {
        return userinfo;
    }

    public void setUserinfo(LoginEntity userinfo) {
        this.userinfo = userinfo;
    }


    public int getIsShow() {
        return isShow;
    }
    public void setIsShow(int isShow) {
        this.isShow = isShow;
    }


    public int getMaxnum() {
        return maxnum;
    }

    public void setMaxnum(int maxnum) {
        this.maxnum = maxnum;
    }

    public List<PraiseEntity> getPraiseList() {
        return praiseList;
    }

    public void setPraiseList(List<PraiseEntity> praiseList) {
        this.praiseList = praiseList;
    }

    public List<FocusEntity> getFocusList() {
        return focusList;
    }

    public void setFocusList(List<FocusEntity> focusList) {
        this.focusList = focusList;
    }

    private  boolean isCollect=false;
    private  boolean isAttention=false;

    public boolean isCollect() {
        return isCollect;
    }

    public void setCollect(boolean isCollect) {
        this.isCollect = isCollect;
    }


    public boolean isAttention() {
        return isAttention;
    }

    public void setAttention(boolean isAttention) {
        this.isAttention = isAttention;
    }

    private String dealtime;

    public String getDealtime() {
        return dealtime;
    }

    public void setDealtime(String dealtime) {
        this.dealtime = dealtime;
    }

    public InfoAuditLogEntity getAuditinfo() {
        return auditinfo;
    }

    public void setAuditinfo(InfoAuditLogEntity auditinfo) {
        this.auditinfo = auditinfo;
    }
}
